[INFO] fetching crate unified-agent-api-codex 0.3.7...
[INFO] fixing unified-agent-api-codex-0.3.7 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate unified-agent-api-codex 0.3.7 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate unified-agent-api-codex 0.3.7
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate unified-agent-api-codex 0.3.7
[INFO] tweaked toml for crates.io crate unified-agent-api-codex 0.3.7 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate unified-agent-api-codex 0.3.7 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate unified-agent-api-codex 0.3.7 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b
[INFO] running `Command { std: "docker" "start" "3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking unified-agent-api-codex v0.3.7 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/mcp/config.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/mcp/jsonrpc.rs:100:23
[INFO] [stdout]      |
[INFO] [stdout]   98 |             let mut child = None;
[INFO] [stdout]      |                 ---------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `child` calls a custom destructor
[INFO] [stdout]      |                 `child` will be dropped later as of Edition 2024
[INFO] [stdout]   99 |             for attempt in 0..5 {
[INFO] [stdout]  100 |                 match command.spawn() {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  110 |                             tokio::time::sleep(backoff).await;
[INFO] [stdout]      |                             ---------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  120 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/mcp/runtime.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/mcp/runtime.rs:415:23
[INFO] [stdout]      |
[INFO] [stdout]  406 |                 let mut command = launch.command();
[INFO] [stdout]      |                     -----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `command` calls a custom destructor
[INFO] [stdout]      |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout]  407 |                 let spawn_target = launch.command.clone();
[INFO] [stdout]  408 |                 let mut child = command.spawn().map_err(|source| McpRuntimeError::Spawn {
[INFO] [stdout]      |                     ---------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `child` calls a custom destructor
[INFO] [stdout]      |                     `child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  415 |                 match (stdout, stdin) { (Some(stdout), Some(stdin)) => {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  432 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/tests/builder_env_home.rs (33 fixes)
[INFO] [stderr]        Fixed src/tests/capabilities/overrides_and_probe.rs (4 fixes)
[INFO] [stderr]        Fixed src/mcp/tests_runtime_app/runtime_manager.rs (4 fixes)
[INFO] [stderr]        Fixed src/tests/auth_session.rs (5 fixes)
[INFO] [stderr]        Fixed src/mcp/tests_runtime_app/runtime_api.rs (5 fixes)
[INFO] [stderr]        Fixed src/tests/stream_exec_working_dir.rs (4 fixes)
[INFO] [stderr]        Fixed src/tests/stream_exec_env_overrides.rs (4 fixes)
[INFO] [stderr]        Fixed src/tests/stream_resume_env_overrides.rs (4 fixes)
[INFO] [stderr]        Fixed src/mcp/tests_core/config_runtime.rs (11 fixes)
[INFO] [stderr]        Fixed src/tests/capabilities/probe_working_dir.rs (4 fixes)
[INFO] [stderr]    Migrating examples/cloud_tasks.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/mcp/jsonrpc.rs:100:23
[INFO] [stdout]      |
[INFO] [stdout]   98 |             let mut child = None;
[INFO] [stdout]      |                 ---------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `child` calls a custom destructor
[INFO] [stdout]      |                 `child` will be dropped later as of Edition 2024
[INFO] [stdout]   99 |             for attempt in 0..5 {
[INFO] [stdout]  100 |                 match command.spawn() {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  110 |                             tokio::time::sleep(backoff).await;
[INFO] [stdout]      |                             ---------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  120 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/mcp/runtime.rs:415:23
[INFO] [stdout]      |
[INFO] [stdout]  406 |                 let mut command = launch.command();
[INFO] [stdout]      |                     -----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `command` calls a custom destructor
[INFO] [stdout]      |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout]  407 |                 let spawn_target = launch.command.clone();
[INFO] [stdout]  408 |                 let mut child = command.spawn().map_err(|source| McpRuntimeError::Spawn {
[INFO] [stdout]      |                     ---------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `child` calls a custom destructor
[INFO] [stdout]      |                     `child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  415 |                 match (stdout, stdin) { (Some(stdout), Some(stdin)) => {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  432 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]      |
[INFO] [stdout]  290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `child` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/support_paths.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/parse_rollout_jsonl.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/no_stdout_mirror.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/bundled_binary_home.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/mcp_manage.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rollout_jsonl_parser_api.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/session_commands.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/codex_home.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed examples/codex_home.rs (1 fix)
[INFO] [stderr]    Migrating examples/server_helpers.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/examples_manifest.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/stdio_to_uds_live.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/jsonl_parser_api.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/jsonl_parser_api.rs:383:29
[INFO] [stdout]     |
[INFO] [stdout] 383 |     while let Some(event) = stream.events.next().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |                    |
[INFO] [stdout]     |                             |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 384 |         events.push(event);
[INFO] [stdout] 385 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/filter_rollout_event_msg.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/update.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/thread_event_accessors.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/feature_detection.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/json_stream.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/cli_overrides.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> examples/json_stream.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |     while let Some(event) = stream.events.next().await {
[INFO] [stdout]    |                    -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |        |                    |
[INFO] [stdout]    |                    |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `event` calls a custom destructor
[INFO] [stdout]    |                    `event` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |             Err(err) => {
[INFO] [stdout]    |                 ---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `err` calls a custom destructor
[INFO] [stdout]    |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 44 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `event` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/binary_env_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/auth_flow.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/app_server_turns.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/debug_cmd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/features_toggle.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/quiet.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/working_dir.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/mcp_codex_reply.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/cli_e2e.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/mcp_codex_flow.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/cli_e2e.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |     while let Some(event) = events.next().await {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |        |             |
[INFO] [stdout]     |                    |        |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `event` calls a custom destructor
[INFO] [stdout]     |                    `event` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 |             Err(err) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `event` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/cli_e2e.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |     while let Some(event) = resume_events.next().await {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |        |                    |
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `event` calls a custom destructor
[INFO] [stdout]     |                    `event` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |         if let Err(err) = event {
[INFO] [stdout]     |                    ---
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `err` calls a custom destructor
[INFO] [stdout]     |                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `event` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> tests/cli_e2e.rs:393:15
[INFO] [stdout]      |
[INFO] [stdout]  393 |         match handle.read_server_info().await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                         |
[INFO] [stdout]      |               |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |               |                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  401 |                 time::sleep(Duration::from_millis(200)).await;
[INFO] [stdout]      |                 ---------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  402 |             }
[INFO] [stdout]  403 |             Err(err) => {
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `err` calls a custom destructor
[INFO] [stdout]      |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout]  404 |                 let _ = handle.child.kill().await;
[INFO] [stdout]      |                         -------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  408 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/stream_events.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/resume_apply.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/execpolicy_check.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/send_prompt.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/new_cli_surfaces.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/features_cmd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/plugin_cmd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/select_model.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/stream_with_log.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/bundled_binary.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/responses_api_proxy.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/review_commands.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> examples/responses_api_proxy.rs:49:15
[INFO] [stdout]      |
[INFO] [stdout]   49 |         match proxy.read_server_info().await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                        |
[INFO] [stdout]      |               |                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |                 tokio::time::sleep(Duration::from_millis(100)).await;
[INFO] [stdout]      |                 ----------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   60 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/image_json.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/mcp_codex_tool.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/jsonl_compat.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/jsonl_compat.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |     while let Some(event) = stream.events.next().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |                    |
[INFO] [stdout]     |                             |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 118 |         events.push(event);
[INFO] [stdout] 119 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/working_dir_json.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/jsonl_compat.rs:153:29
[INFO] [stdout]     |
[INFO] [stdout] 153 |     while let Some(event) = stream.events.next().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |                    |
[INFO] [stdout]     |                             |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 154 |         events.push(event);
[INFO] [stdout] 155 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/fixtures.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/stream_last_message.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/help_scopes.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/color_always.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/timeout_zero.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/app_server_codegen.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/run_sandbox.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/env_binary.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/timeout.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/app_server_thread_turn.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/capability_snapshot.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/exec_resume_apply_wrapper.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> examples/exec_resume_apply_wrapper.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |     while let Some(evt) = stream.events.next().await {
[INFO] [stdout]    |                    ---    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |      |                    |
[INFO] [stdout]    |                    |      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `evt` calls a custom destructor
[INFO] [stdout]    |                    `evt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 56 |             Err(err) => {
[INFO] [stdout]    |                 ---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `err` calls a custom destructor
[INFO] [stdout]    |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 61 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `evt` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.67s
[INFO] [stderr] crater-edition-check: unified-agent-api-codex v0.3.7 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking unified-agent-api-codex v0.3.7 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/config.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |         unsafe { env::set_var(&env_var, token.as_ref()) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:11
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![forbid(unsafe_code)]
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/config.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |         unsafe { env::remove_var(&env_var) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/config.rs:641:13
[INFO] [stdout]     |
[INFO] [stdout] 641 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/config.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |         unsafe { env::set_var(&env_var, token.as_ref()) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:11
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![forbid(unsafe_code)]
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/config.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |         unsafe { env::remove_var(&env_var) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/config.rs:641:13
[INFO] [stdout]     |
[INFO] [stdout] 641 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]  --> src/mcp/tests_core/config_runtime.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     unsafe { env::remove_var(env_key) };
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/mcp/tests_core/config_runtime.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe { env::remove_var(env_key) };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/mcp/tests_core/config_runtime.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     unsafe { env::remove_var("MCP_STDIO_INJECT_E6") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     unsafe { env::set_var(env_var, "token-123") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     unsafe { env::set_var(env_var, "token-override") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 376 |     unsafe { env::set_var(env_var, "token-launcher") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_core/config_runtime.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/mcp/tests_runtime_app/runtime_api.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     unsafe { env::set_var(http_env_key, "token-api") };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_api.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     unsafe { env::remove_var(http_env_key) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_api.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     unsafe { env::remove_var(request_env_key) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_api.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     unsafe { env::set_var(env_var, "prepare-token") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_api.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/mcp/tests_runtime_app/runtime_manager.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     unsafe { env::set_var(env_var, "token-hints") };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_manager.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_manager.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     unsafe { env::set_var(env_var, "token-reuse") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp/tests_runtime_app/runtime_manager.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     unsafe { env::remove_var(env_var) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/auth_session.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     unsafe { env::set_var("CODEX_HOME", &caller_home) };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/auth_session.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     unsafe { env::set_var("AUTH_HELPER_LOG", &log_path) };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/auth_session.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     unsafe { env::remove_var("AUTH_HELPER_LOG") };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/auth_session.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         unsafe { env::set_var("CODEX_HOME", previous) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/auth_session.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         unsafe { env::remove_var("CODEX_HOME") };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/builder_env_home.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     unsafe { env::set_var(key, "custom_codex") };
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/builder_env_home.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         unsafe { env::set_var(key, value) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/builder_env_home.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         unsafe { env::remove_var(key) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     unsafe { env::remove_var(key) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         unsafe { env::set_var(key, value) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         unsafe { env::remove_var(key) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     unsafe { env::remove_var("RUST_LOG") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         unsafe { env::set_var("RUST_LOG", value) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         unsafe { env::remove_var("RUST_LOG") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     unsafe { env::set_var("RUST_LOG", "info") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         unsafe { env::set_var("RUST_LOG", value) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         unsafe { env::remove_var("RUST_LOG") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     unsafe { env::remove_var(RUST_LOG_ENV) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:182:24
[INFO] [stdout]     |
[INFO] [stdout] 182 |         Some(value) => unsafe { env::set_var(RUST_LOG_ENV, value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |         None => unsafe { env::remove_var(RUST_LOG_ENV) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     unsafe { env::set_var(binary_key, "/tmp/ignored_codex") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     unsafe { env::set_var(home_key, "/tmp/ambient_home") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     unsafe { env::remove_var(rust_log_key) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:244:24
[INFO] [stdout]     |
[INFO] [stdout] 244 |         Some(value) => unsafe { env::set_var(binary_key, value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |         None => unsafe { env::remove_var(binary_key) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:250:24
[INFO] [stdout]     |
[INFO] [stdout] 250 |         Some(value) => unsafe { env::set_var(home_key, value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |         None => unsafe { env::remove_var(home_key) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:256:24
[INFO] [stdout]     |
[INFO] [stdout] 256 |         Some(value) => unsafe { env::set_var(rust_log_key, value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |         None => unsafe { env::remove_var(rust_log_key) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 |     unsafe { env::remove_var("RUST_LOG") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         unsafe { env::set_var("RUST_LOG", value) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 |         unsafe { env::remove_var("RUST_LOG") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     unsafe { env::set_var(RUST_LOG_ENV, "trace") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:369:24
[INFO] [stdout]     |
[INFO] [stdout] 369 |         Some(value) => unsafe { env::set_var(RUST_LOG_ENV, value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:371:17
[INFO] [stdout]     |
[INFO] [stdout] 371 |         None => unsafe { env::remove_var(RUST_LOG_ENV) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 380 |     unsafe { env::remove_var(RUST_LOG_ENV) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |         Some(value) => unsafe { env::set_var(RUST_LOG_ENV, value) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tests/builder_env_home.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |         None => unsafe { env::remove_var(RUST_LOG_ENV) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/overrides_and_probe.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         unsafe { env::set_var(self.key, value.into()) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/overrides_and_probe.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         unsafe { env::remove_var(self.key) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/overrides_and_probe.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |             Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/overrides_and_probe.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |             None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/probe_working_dir.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         unsafe { env::set_var(self.key, value.into()) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/probe_working_dir.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         unsafe { env::remove_var(self.key) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/probe_working_dir.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/capabilities/probe_working_dir.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |             None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_env_overrides.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         unsafe { env::set_var(self.key, value.into()) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_env_overrides.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         unsafe { env::remove_var(self.key) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_env_overrides.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_env_overrides.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |             None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_working_dir.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         unsafe { env::set_var(self.key, value.into()) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_working_dir.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         unsafe { env::remove_var(self.key) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_working_dir.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |             Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_exec_working_dir.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |             None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_resume_env_overrides.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         unsafe { env::set_var(self.key, value.into()) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_resume_env_overrides.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         unsafe { env::remove_var(self.key) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_resume_env_overrides.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> src/tests/stream_resume_env_overrides.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |             None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `unified-agent-api-codex` (lib) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `unified-agent-api-codex` (lib test) due to 81 previous errors
[INFO] running `Command { std: "docker" "inspect" "3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b", kill_on_drop: false }`
[INFO] [stdout] 3affd0da2d3c808c16b38670a2a5c7dd20a2580afae1add413c09f211fde9b9b
